import fetch from "node-fetch";
import path from 'path';
import fs from 'fs';
import lodash from 'lodash';

const regular = [
    /^(#|\/)?我的信息$/, 
    /^(#|\/)?个人信息$/
];

export class Example3 extends plugin {
    constructor() {
        super({
            name: '[Jiaozi]个人信息',
            dsc: '查看您的个人信息',
            event: 'message',
            priority: -1,
            rule: [
                { reg: regular[0], fnc: 'getInfo' },
                { reg: regular[1], fnc: 'getInfo' },
            ]
        });
    }

    async getInfo(e) {
        const userID = e.user_id;  // 用户ID
        const nickname = e.sender.nickname;  // 用户昵称
        let age = e.sender.age || '未提供';  // 用户年龄
        let gender = e.sender.sex || '未知';  // 用户性别
        const groupNickname = e.sender.card || '';  // 群内昵称
        let title = e.sender.title || '';  // 群内头衔
        let role = e.sender.role || '';  // 群内角色
        const groupName = e.group_name || '';  // 群名称
        const groupID = e.group_id || '';  // 群ID

        // 根据不同的值判断性别
        if (gender === 'male') {
            gender = '男';
        } else if (gender === 'female') {
            gender = '女';
        }

        // 根据不同的值判断群内角色
        if (role === 'owner') {
            role = '群主';
        } else if (role === 'admin') {
            role = '管理员';
        } else if (role === 'member') {
            role = '群成员';
        }

        // 构建头像URL
        const avatarURL = `https://q1.qlogo.cn/g?b=qq&s=100&nk=${userID}`;

        // 构建群头像URL
        const groupAvatarURL = `https://p.qlogo.cn/gh/${groupID}/${groupID}/100`;

        // 构建回复文本
        const user = `个人信息
QQ号：${userID}
昵称：${nickname}
年龄：${age}
性别：${gender}
`;

        const group = `群信息
群昵称：${groupNickname}
群头衔：${title}
群身份：${role}
群名：${groupName}
群号：${groupID}`;

        // 发送消息
        const message = [
            segment.image(avatarURL),
            '\n',
            user,
            '\n',
            segment.image(groupAvatarURL),
            '\n',
            group
        ];

        await e.reply(message, /*false,*/ { quote: true });
    }

}